typedef SIGNALS 
{
    SIGNAL Data_Req(STRING PDU);
    SIGNAL Data_Ind(STRING PDU);             
} PH_SL;

typedef SBUS_T [PH_SL G1, PH_SL G2] 
{
    PH_SL Data_Req_Signal;
    
    :: Running;
    
    STATE Running 
    {
        G1? PH_SL.Data_Req( ?) : Data_Req_Signal 
        {        
            Print("SBUS:Data_Req received with):");
            Print(Data_Req_Signal.Data_Req.PDU);
            G2! PH_SL.Data_Ind (Data_Req_Signal.Data_Req.PDU);
            Print("PH_SL.Data_Ind sent with ");
            Print(Data_Req_Signal.Data_Req.PDU);
        }

        G2? PH_SL.Data_Req( ?) : Data_Req_Signal 
        {        
            Print("SBUS:Data_Req received with):");
            Print(Data_Req_Signal.Data_Req.PDU);
            G1! PH_SL.Data_Ind (Data_Req_Signal.Data_Req.PDU);
            Print("PH_SL.Data_Ind sent with ");
            Print(Data_Req_Signal.Data_Req.PDU);
        }

    }
};
